\latex{\section*{Overview of package \texttt{stat.list}}\addcontentsline{toc}{section}{Overview of package \texttt{stat.list}}}

\label{over-li-tal}
Provides support for lists of statistical probes.
Sometimes, a simulator computes several related performance measures
such as the quality of service for different call types in a phone
call center, the waiting times of different types of customers, the
average number of pieces of different types a machine processes, etc.
A list of statistical probes, in contrast with an ordinary array, can
be resized.  Since a list of statistical probes implements
the Java \texttt{List} interface, one can iterate over each probe,
e.g., to set reporting options.
In addition to an ordinary list, a list of probes
provides facilities to get a vector of averages, a vector of sums,
and to create reports.

In the Java programming language,
a list is usually constructed empty, and filled with items.  Lists of
statistical probes can be constructed this generic way, or created
using factory methods that automatically construct the probes.

\externalclass{umontreal.iro.lecuyer.stat.list}{ListOfStatProbes} is
the base class for
lists of statistical probes.  It can hold a list of any
\externalclass{umontreal.iro.lecuyer.stat}{StatProbe} subclass, and
provides the basic
facilities to obtain an array of sums, an array of averages, etc.
Subclasses provide probe-specific functionalities for adding
vectors of observations, computing sample covariances, etc.
\externalclass{umontreal.iro.lecuyer.stat.list}{ListOfTallies} is
used to contain \externalclass{umontreal.iro.lecuyer.stat}{Tally} instances.
A subclass,
\externalclass{umontreal.iro.lecuyer.stat.list}{ListOfTalliesWithCovariance}, is
provided to add support for covariance computation without storing observations.
\iffalse
The \externalclass{umontreal.iro.lecuyer.stat.list}{ListOfFunctionOfMultipleMeansTallies}
is available to regroup
\externalclass{umontreal.iro.lecuyer.stat}{FunctionOfMultipleMeansTally}
objects.
\fi

All classes in this package representing lists of probes support the
observer design pattern
similarly to the classes in package \texttt{stat}.
A list of statistical probes maintains a list of registered 
\externalclass{umontreal.iro.lecuyer.stat.list}{ArrayOfObservationListener}
objects, and broadcasts information to all its registered
observers when it receives a new vector of observations.
Any object that implements the interface 
\externalclass{umontreal.iro.lecuyer.stat.list}{ArrayOfObservationListener}
can register as an observer.
